pub fn new_birthday_probability(n: u32) -> f64 {
    // 如果人数小于 2，概率为 0
    if n < 2 {
        return 0.0;
    }

    // 初始
    let mut prob_no_shared_birthday = 1.0;
    
    // 计算所有人生日都不同的概率
    for i in 0..n {
        prob_no_shared_birthday *= (365 - i) as f64 / 365.0;
    }

    // 至少两人生日相同的概率
    let prob_shared_birthday = 1.0 - prob_no_shared_birthday;
    
    // 保留四位小数
    (prob_shared_birthday * 10000.0).round() / 10000.0
}
